Manual construction of fault models used to automate troubleshooting of complex systems is an expensive, time consuming, and error prone activity. The cost of this activity has been a significant obstacle to the deployment of automated diagnostic systems.